package com.frogs.ucenter.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.frogs.system.util.CouponTypeEnum;
import com.frogs.system.util.TaskGetTypeEnum;

public class TaskInfo implements Serializable {
    private static final long serialVersionUID = 3484311843120221055L;

    /**
     * This field corresponds to the database column task_info.id
     */
    private Integer id = 0;

    /**
     * This field corresponds to the database column task_info.task_type
     */
    private Integer taskType = 0;

    /**
     * This field corresponds to the database column task_info.remark
     */
    private String remark;

    /**
     * This field corresponds to the database column task_info.action_type
     */
    private String actionType;

    /**
     * This field corresponds to the database column task_info.complete_num
     */
    private Integer completeNum = 0;

    /**
     * This field corresponds to the database column task_info.complete_money
     */
    private BigDecimal completeMoney;

    /**
     * This field corresponds to the database column task_info.give_point
     */
    private Integer givePoint = 0;

    /**
     * This field corresponds to the database column task_info.give_money
     */
    private BigDecimal giveMoney;

    /**
     * This field corresponds to the database column task_info.give_card_id
     */
    private Integer giveCardId = 0;

    /**
     * This field corresponds to the database column task_info.give_card_name
     */
    private String giveCardName;
    
    private String giveRedPacketName;
    
    private Integer giveRedPacketId;

    /**
     * This field corresponds to the database column task_info.number_upper_limit
     */
    private Integer numberUpperLimit = 0;

    /**
     * This field corresponds to the database column task_info.cycle
     */
    private Integer cycle = 0;
    
    private Integer days;

    /**
     * This field corresponds to the database column task_info.task_url
     */
    private String taskUrl;

    /**
     * This field corresponds to the database column task_info.url
     */
    private String url;
    
    private Date startTime = new Date();

    private Date endTime = new Date();

    private Integer status = 1;
    
    private String expandCode ;
    
    private Integer applicablePlatformId = 0;
    
    private Integer openPlatformId = 0;
    
    private Integer levelId = 0;
    
    private Integer getType = TaskGetTypeEnum.MANUAL.getId();
    
    private Integer cardType = CouponTypeEnum.IS_TRUE.getId();
    
    private Integer getStrategy;
    
    private Integer getSum;
    
    private Integer getNum;
    
    private String wxCardId;
    
    private String title;
    
    private String messageTemplate;
    
    private String showStatus;
    
    public String getShowStatus() {
		return showStatus;
	}

	public void setShowStatus(String showStatus) {
		this.showStatus = showStatus;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	/**
     * This method returns the value of the database column task_info.id
     *
     * @return the value of task_info.id
     */
    public Integer getId() {
        return id;
    }

    /**
     * This method sets the value of the database column task_info.id
     *
     * @param id the value for task_info.id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * This method returns the value of the database column task_info.task_type
     *
     * @return the value of task_info.task_type
     */
    public Integer getTaskType() {
        return taskType;
    }

    /**
     * This method sets the value of the database column task_info.task_type
     *
     * @param taskType the value for task_info.task_type
     */
    public void setTaskType(Integer taskType) {
        this.taskType = taskType;
    }

    /**
     * This method returns the value of the database column task_info.remark
     *
     * @return the value of task_info.remark
     */
    public String getRemark() {
        return remark;
    }

    /**
     * This method sets the value of the database column task_info.remark
     *
     * @param remark the value for task_info.remark
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * This method returns the value of the database column task_info.action_type
     *
     * @return the value of task_info.action_type
     */
    public String getActionType() {
        return actionType;
    }

    /**
     * This method sets the value of the database column task_info.action_type
     *
     * @param actionType the value for task_info.action_type
     */
    public void setActionType(String actionType) {
        this.actionType = actionType;
    }

    /**
     * This method returns the value of the database column task_info.complete_num
     *
     * @return the value of task_info.complete_num
     */
    public Integer getCompleteNum() {
        return completeNum;
    }

    /**
     * This method sets the value of the database column task_info.complete_num
     *
     * @param completeNum the value for task_info.complete_num
     */
    public void setCompleteNum(Integer completeNum) {
        this.completeNum = completeNum;
    }

    /**
     * This method returns the value of the database column task_info.complete_money
     *
     * @return the value of task_info.complete_money
     */
    public BigDecimal getCompleteMoney() {
        return completeMoney;
    }

    /**
     * This method sets the value of the database column task_info.complete_money
     *
     * @param completeMoney the value for task_info.complete_money
     */
    public void setCompleteMoney(BigDecimal completeMoney) {
        this.completeMoney = completeMoney;
    }

    /**
     * This method returns the value of the database column task_info.give_point
     *
     * @return the value of task_info.give_point
     */
    public Integer getGivePoint() {
        return givePoint;
    }

    /**
     * This method sets the value of the database column task_info.give_point
     *
     * @param givePoint the value for task_info.give_point
     */
    public void setGivePoint(Integer givePoint) {
        this.givePoint = (givePoint == null ? 0 : givePoint);
    }

    /**
     * This method returns the value of the database column task_info.give_money
     *
     * @return the value of task_info.give_money
     */
    public BigDecimal getGiveMoney() {
        return giveMoney;
    }

    /**
     * This method sets the value of the database column task_info.give_money
     *
     * @param giveMoney the value for task_info.give_money
     */
    public void setGiveMoney(BigDecimal giveMoney) {
        this.giveMoney = (giveMoney == null ? new BigDecimal(0.00) : giveMoney);
    }

    /**
     * This method returns the value of the database column task_info.give_card_id
     *
     * @return the value of task_info.give_card_id
     */
    public Integer getGiveCardId() {
        return giveCardId;
    }

    /**
     * This method sets the value of the database column task_info.give_card_id
     *
     * @param giveCardId the value for task_info.give_card_id
     */
    public void setGiveCardId(Integer giveCardId) {
        this.giveCardId = (giveCardId == null ? 0 : giveCardId);
    }

    /**
     * This method returns the value of the database column task_info.give_card_name
     *
     * @return the value of task_info.give_card_name
     */
    public String getGiveCardName() {
        return giveCardName;
    }

    /**
     * This method sets the value of the database column task_info.give_card_name
     *
     * @param giveCardName the value for task_info.give_card_name
     */
    public void setGiveCardName(String giveCardName) {
        this.giveCardName = giveCardName;
    }

    /**
     * This method returns the value of the database column task_info.number_upper_limit
     *
     * @return the value of task_info.number_upper_limit
     */
    public Integer getNumberUpperLimit() {
        return numberUpperLimit;
    }

    /**
     * This method sets the value of the database column task_info.number_upper_limit
     *
     * @param numberUpperLimit the value for task_info.number_upper_limit
     */
    public void setNumberUpperLimit(Integer numberUpperLimit) {
        this.numberUpperLimit = numberUpperLimit;
    }

    /**
     * This method returns the value of the database column task_info.cycle
     *
     * @return the value of task_info.cycle
     */
    public Integer getCycle() {
        return cycle;
    }

    /**
     * This method sets the value of the database column task_info.cycle
     *
     * @param cycle the value for task_info.cycle
     */
    public void setCycle(Integer cycle) {
        this.cycle = cycle;
    }

    /**
     * This method returns the value of the database column task_info.task_url
     *
     * @return the value of task_info.task_url
     */
    public String getTaskUrl() {
        return taskUrl;
    }

    /**
     * This method sets the value of the database column task_info.task_url
     *
     * @param taskUrl the value for task_info.task_url
     */
    public void setTaskUrl(String taskUrl) {
        this.taskUrl = taskUrl;
    }

    /**
     * This method returns the value of the database column task_info.url
     *
     * @return the value of task_info.url
     */
    public String getUrl() {
        return url;
    }

    /**
     * This method sets the value of the database column task_info.url
     *
     * @param url the value for task_info.url
     */
    public void setUrl(String url) {
        this.url = url;
    }

	public Date getStartTime() {
		return startTime;
	}

	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}

	public Date getEndTime() {
		return endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	public String getExpandCode() {
		return expandCode;
	}

	public void setExpandCode(String expandCode) {
		this.expandCode = expandCode;
	}

	public Integer getApplicablePlatformId() {
		return applicablePlatformId;
	}

	public void setApplicablePlatformId(Integer applicablePlatformId) {
		this.applicablePlatformId = applicablePlatformId;
	}

	public Integer getLevelId() {
		return levelId;
	}

	public void setLevelId(Integer levelId) {
		this.levelId = levelId;
	}

	public Integer getGetType() {
		return getType;
	}

	public void setGetType(Integer getType) {
		this.getType = getType;
	}

	public Integer getCardType() {
		return cardType;
	}

	public void setCardType(Integer cardType) {
		this.cardType = cardType;
	}

	public Integer getGetStrategy() {
		return getStrategy;
	}

	public void setGetStrategy(Integer getStrategy) {
		this.getStrategy = getStrategy;
	}

	public Integer getGetSum() {
		return getSum;
	}

	public void setGetSum(Integer getSum) {
		this.getSum = getSum;
	}

	public Integer getGetNum() {
		return getNum;
	}

	public void setGetNum(Integer getNum) {
		this.getNum = getNum;
	}

	public String getWxCardId() {
		return wxCardId;
	}

	public void setWxCardId(String wxCardId) {
		this.wxCardId = wxCardId;
	}

	public String getGiveRedPacketName() {
		return giveRedPacketName;
	}

	public void setGiveRedPacketName(String giveRedPacketName) {
		this.giveRedPacketName = giveRedPacketName;
	}

	public Integer getDays() {
		return days;
	}

	public void setDays(Integer days) {
		this.days = days;
	}

	public Integer getGiveRedPacketId() {
		return giveRedPacketId;
	}

	public void setGiveRedPacketId(Integer giveRedPacketId) {
		this.giveRedPacketId = giveRedPacketId;
	}

	public Integer getOpenPlatformId() {
		return openPlatformId;
	}

	public void setOpenPlatformId(Integer openPlatformId) {
		this.openPlatformId = openPlatformId;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getMessageTemplate() {
		return messageTemplate;
	}

	public void setMessageTemplate(String messageTemplate) {
		this.messageTemplate = messageTemplate;
	}

}